/**
 * Created by houlei on 2024/10/17.
 * */
#ifndef GLOBALPARAMETERS_UNTITLED
#define GLOBALPARAMETERS_UNTITLED

#include "Parameters.h"
#include <memory>

class GlobalParameters : public Parameters {
    add_parameter(int,EchoLen,1000000);
    add_parameter(int,TargetNum,1);
    add_parameter(float,FrPt,500);
    add_parameter(float,FrFs,20);
    add_parameter(int,FrNum,16);
    add_parameter(float,FrFre,1500);
    add_parameter(float,FrPw,30);
    add_parameter(float,FrBw,10);
    add_parameter(int,FrType,0);
    add_parameter(float,TargetRCS1,40);
    add_parameter(float,TargetRCS2,30);
    add_parameter(int,TargetRCSType1,0);
    add_parameter(int,TargetRCSType2,0);
    add_parameter(float,TargetRange1,30000);
    add_parameter(float,TargetRange2,60000);
    add_parameter(float,TargetVel1,100);
    add_parameter(float,TargetVel2,-100);
    add_parameter(float,NoiseRcs,1);
    add_parameter(int,useSimuPara,0);
    add_parameter(float,Azi,0);
    add_parameter(float,Ele,0);
    add_parameter(int,NumElement,8);

private:
GlobalParameters() {
}


public:
static GlobalParameters *shareInstance() {
static std::shared_ptr<GlobalParameters> pInstance(new GlobalParameters);

/** 对Ti6678，从核必须共享主核的实例 */
if (globalParametersInstance) {
return (GlobalParameters *) (globalParametersInstance);
}

return pInstance.get();
}
};
#undef add_parameter
#endif //GLOBALPARAMETERS_UNTITLED
